//
//  AppDelegate.m
//  微博OC-01
//
//  Created by lanouhn on 16/6/23.
//  Copyright © 2016年 lanouhn. All rights reserved.
//

#import "AppDelegate.h"
#import "ADUTabBarViewController.h"
/*
 开发中经常进行暴力调试, 也就是经常打印Log, 但是NSLog它有一个致命的弱点, 非常消耗性能
 1.什么时候需要显示Log? 开发阶段, 也就是说在应用程序发布阶段是不需要显示Log的
 2.发布阶段如何取消Log的显示? 注释Log, 但是如果一个一个的注释工作量非常大而且没有技术含量
 所以在开发中一般情况下, 为了避免这种SB的操作, 在初始化项目时会自定义Log
 
 为什么要自定义Log?
 1.Log只需要在调试阶段(开发阶段)显示
 2.为了避免发布阶段一个一个的去注释Log
 
 目的:在调试阶段显示Log, 在发布阶段不显示Log (自动化)
 
 要想自定义Log必须先了解一个基本概念: 在调试阶段系统会自动给我们定义一个名字叫做DEBUG的宏, 在发布阶段会自动取消定义该宏
 */


@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    
    // 1.初始化自定义Log
    // Standard lumberjack initialization
    [DDLog addLogger:[DDTTYLogger sharedInstance]];
    // And we also enable colors
    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];
    
    
    //    DDLogError(@"Paper Jam!");       // E | Paper Jam!
    //    DDLogWarn(@"Low toner.");        // W | Low toner.
    //    DDLogInfo(@"Doc printed.");      // I | Doc printed.
    //    DDLogDebug(@"Debugging");        // D | Debugging
    //    DDLogVerbose(@"Init doc_parse"); // V | Init doc_parse.
    
    
    // .自定义颜色
    [[DDTTYLogger sharedInstance] setForegroundColor:[UIColor redColor] backgroundColor:[UIColor blackColor] forFlag:DDLogFlagDebug];
    
    DDLogDebug(@"%s", __func__);
    

    
    // 2.创建Windows
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    
    // 3.创建设置根控制器
    //    UITabBarController *tabBarVC = [[UITabBarController alloc] init];
    ADUTabBarViewController  *tabBarVC = [[ADUTabBarViewController alloc] init];
    self.window.rootViewController = tabBarVC;
    
    
    // 3.显示Windows
    [self.window makeKeyAndVisible];
    return YES;
}

@end
